perm filename SPRINT.FAI[M11,LCS] blob
sn#406187 filedate 1978-12-22 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE SPRINT
C00006 ENDMK
Cā;
TITLE SPRINT
INTERNAL RNDINT,RAND ;PARAM
EXTERNAL .COMM.,C,P,PL,FILES. ;WRITING ON DSK (DEV.1 ONLY!)
;FORTRAN CALLABLE RANDOM NUMBER GENERATOR
;
;USE CALL RNDINT TO INITIALIZE THE GENERATOR
; (THE GENERATOR IS LOADED INITIALIZED)
;USE RAND(XL,XH) AS A FUNCTION TO RETURN THE NEXT
; RANDOM NUMBER BETWEEN XL AND XH
; (XL,XH ARE FLOATING POINT,RAND RETURNS
; FLOATING POINT)
;
RNDINT: 0
MOVE 0,[756132257563]
MOVEM 0,R1
ADDI 0,2
MOVEM 0,R2
JRA 16,0(16)
R1: 756132257563
R2: 756132257565
RAND: 0
MOVEM 1,TEMP
MOVE 0,@0(16)
MOVE 1,@1(16)
FSBR 1,0
MOVEM 0,LLIM#
MOVE 0,R1
ADD 0,R2
EXCH 0,R2
MOVEM 0,R1
LSH 0,-11
FSC 0,200
FMP 0,1
FAD 0,LLIM
MOVE 1,TEMP
JRA 16,2(16)
TEMP: 0
;C FUNCTION PARAM(X,K)
;C COMMON J,L /P/P(1) /PL/PL(1) /C/T,NWZZ,IT3,T6,NW,TDUR,A,
;C 1 T2,T4,BY,KODE,NPAR,LP,TBG,AC,NPA,BX,IDF,PM,NM,PAR,PX2
;;PARAM: 0 ;C K=0
;; SETZ 2,
; IF K IS NOT ZERO UPON RETURN, THEN WE'VE FOUND INFO IN OTHER PARAM.
;; MOVE 0,@(16) ;C PARAM=X
;; CAMG 0,[-9999.0] ;CC IF(X.GT.-9999.0)RETURN
;; CAMG 0,[-10000.0] ;CC IF(X.LE.-10000.0)RETURN
;; JRST PAR2 ;GO TO PAR2
;; MOVN 2,0
;; FADR 2,[-9999.0] ;CC K=-(X+9999.0)*100.+.1
;; FMPR 2,[100.0]
;; FADR 2,[0.1] ;FOR ROUND-OFF
;; KIFIX 2,2
;; MOVE 0,P-1(2) ;CC PARAM=P(K) ;AC 0 = PARAM
; GET DATA FROM PARAM K
;; MOVE 1,PL-1(2) ;CC PM=PL(K)
;; MOVEM 1,C+=18
;; MOVE 1,.COMM.+1 ;CC IF(L.NE.2)RETURN ;;L=LPAR (CURRENT PARAM#)
;; CAIE 1,2 ;C L=CALLING PARAM NUM., K=PARAM REFERRED TO.
;; JRST PAR2 ;GO TO PAR2
;; CAIN 2,2 ;CC IF(K.EQ.2)PARAM=PX2
;; MOVE 0,C+=21;MUST USE 'UNPROCESSED' FORM OF P2 (I.E. NO 'TEMPO' CHANGES)
;;PAR2: MOVEM 2,@1(16) ;SEND BACK VALUE OF K
;; JRA 16,2(16) ;CC END
END